/**
 * @brief    任意梁截面网格剖分工具
 *           基于triangle库，利用六节点三角形单元进行截面剖分
 *
 * @version  0.1
 * @author   Liu Xing
 * @date     2025.10.27
 * @copyright Copyright (c)： ShenGong  Simulation corporation
 */

#pragma once

#include "DataStructure/Common/Out.h"
#include "DataStructure/Common/SGNamespace.h"
#include "DataStructure/Input/Property/BeamSectionArbitrary.h"

#include "../../Common/BeamSecPropCalculatorExport.h"
#include "SectionMesh.h"

SG_NAMESPACE_OPEN
namespace FEMSolver
{
    namespace Element
    {
        class BeamSecPropCalculator_DECLSPEC ArbitrarySectionTool
        {
          public:
            /**
             * @brief         任意截面网格划分类
             * 
             * @param [in]    profileData     截面轮廓点信息信息    
             * @param [out]   meshes         网格信息
             * @author   Liu Xing
             * @date     2025.10.30
             */
            static void MeshT6 (const SG::DataStructure::FEM::BeamSectionArbitrary& profileData, _OUT Meshes& meshes);
        };
    };  // end namespace Element
};  // end namespace FEMSolver
SG_NAMESPACE_CLOSE
